Sharing on-line media experiences

ABSTRACT

A lead user may share an on-line media content experience with one or more followers by identifying content of interest being experienced on the lead user system, identifying one or more followers with whom to share the content of interest, inviting the followers to experience the content of interest, and enabling the followers to access the content of interest.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a continuation of U.S. application Ser. No.12/044,168 filed on Mar. 7, 2008, which is a continuation of U.S.application Ser. No. 10/330,552 filed on Dec. 30, 2002 and issued asU.S. Pat. No. 7,386,798, each of which are hereby incorporated byreference in their entirety.

TECHNICAL FIELD

This description relates to on-line media experiences and moreparticularly to sharing on-line media experiences.

BACKGROUND

On-line service providers facilitate access to information and services,allowing users to navigate to desired resources, including on-line mediacontent.

SUMMARY

In one general aspect, a lead user may share an on-line media contentexperience with one or more followers by identifying content of interestbeing experienced on the lead user system, identifying one or morefollowers with whom to share the content of interest, inviting thefollowers to experience the content of interest, and enabling thefollowers to access the content of interest.

Implementations may include one or more of the following features. Forexample, the content of interest may be identified by detectingstreaming media content being experienced on the lead user system. Thecontent of interest may be automatically identified, and an indicationmay be received that content of interest is being experienced on thelead user system.

Identifying the content of interest may also include identifying achange in the content of interest being experienced on the lead usersystem. The lead user system or the host system may automaticallyidentify the change in content. For example, an indication may bereceived that changed content of interest is being experienced on thelead user system.

Identifying one or more followers includes selecting the one or morefollowers from a list of followers. For example, one or more followersmay be selected based on a matching between the content and interests ofthe follower. The follower may be selected at the lead user system orthe host system.

Also, one or more updated followers with whom to share changed contentof interest may be identified. Updated followers may be identified basedon a matching between the changed content and interests of the updatedfollowers. Further, updated followers may be identified at the lead usersystem or the host system.

Generating the invitation includes generating a personalized invitationfor one or more of the followers. The invitation may be generatedautomatically at the lead user system or by the host system. Theinvitation may be sent by, for example, an instant message, a chat room,or an e-mail message. Also, the invitation may be sent without userintervention in a machine-to-machine communication.

The followers may be enabled to access the content of interestautomatically based upon a machine-to-machine communication withoutintervention by the follower. The updated followers may also be enabledto access changed content of interest. For example, updated followersmay be enabled to automatically access the changed content based upon amachine-to-machine communication without intervention by the follower.

An indication of acceptance of the invitation by the followers may bereceived. Also or alternatively, an indication may be provided to thelead user of whether the followers are experiencing the on-line mediaexperience of the lead user, and/or an indication may be provided to thefollower of whether the follower is sharing the on-line media experienceof the lead user. Further, an indication may be provided to the leaduser of whether the updated followers are experiencing the changedcontent of the on-line media experience of the lead user, and anindication may be provided to the updated follower of whether theupdated follower is sharing the changed content of the on-line mediaexperience of the lead user.

Aspects of the shared on-line media experiences may be implemented by anapparatus and/or by a computer program stored on a computer readablemedium. The computer readable medium may comprise a disc, a clientdevice, a host device, and/or a propagated signal. In addition, aspectsof the shared on-line media experiences may be implemented in aclient/host context or in a standalone or offline client device.

Other features will be apparent from the following description,including the drawings, and from the claims.

DESCRIPTION OF DRAWINGS

FIGS. 1-4 are block diagrams of an exemplary communications system.

FIGS. 5 and 12 are flow charts of exemplary processes that may beimplemented by systems such as those of FIGS. 1-4.

FIGS. 6-11 and 13-15 are illustrations of different graphical userinterfaces that may be implemented by systems such as those of FIGS. 1-4when executing processes such as those of FIGS. 5 and 12.

Like reference symbols in the various drawings indicate like elements.For brevity, several elements in the figures described below arerepresented as monolithic entities. However, as would be understood byone skilled in the art, these elements each may include numerousinterconnected computers and components designed to perform a set ofspecified operations and/or may be dedicated to a particular geographicregion.

DETAILED DESCRIPTION

A user (e.g., a lead user) may desire to share with one or more otherusers (e.g., followers) various on-line media content experiences, suchas viewing images and listening to sounds which may be made available byaccessing on-line streaming media content or otherwise. The lead usermay send one or more followers an invitation to experience the sameon-line media content that the lead user is experiencing. The invitationmay include a uniform resource locator (URL) or other identifier that isassociated with the online media being experienced at the lead user,enabling relatively easy acceptance by a recipient follower. Theinvitation may be delivered to the recipient follower using acommunications application or protocol such as, for example, instantmessaging, chat, or e-mail. The invitation may be sent manually by thelead user or the invitation may be sent automatically by the lead useror by a host system. In an example of automatic operation, theinvitation may be sent automatically by the lead user or by a hostsystem when a match is detected between the interests of one or morefollowers and the content type of the on-line media being experienced bythe lead user. If the invitation is accepted by a follower, the on-linemedia content being experienced by the lead user also is experienced bythe follower. Thereafter, if the on-line media being experienced by thelead user changes to different on-line media content, a changenotification will be sent from the lead user system to the followersystem. Based on this notification, the follower system may change suchthat the follower will experience the new on-line media content beingexperienced by the lead user, either without follower input in responseto the notification or with follower input that is elicited based on thenotification.

For illustrative purposes, FIGS. 1 and 2 show an example of acommunications system for implementing techniques for transferringelectronic data.

Referring to FIG. 1, a communications system 100 is capable ofdelivering and exchanging data between a client system 105, including alead user system or a follower system, and a host system 110 through acommunications link 115. The client system 105 typically includes one ormore client devices 120 and/or client controllers 125, and the hostsystem 110 typically includes one or more host devices 135 and/or hostcontrollers 140. For example, the client system 105 or the host system110 may include one or more general-purpose computers (e.g., personalcomputers), one or more special-purpose computers (e.g., devicesspecifically programmed to communicate with each other and/or the clientsystem 105 or the host system 110), or a combination of one or moregeneral-purpose computers and one or more special-purpose computers. Theclient system 105 and the host system 110 may be arranged to operatewithin or in concert with one or more other systems, such as, forexample, one or more LANs (“Local Area Networks”) and/or one or moreWANs (“Wide Area Networks”).

The client device 120 and the host device 135 generally are capable ofexecuting instructions under the command of, respectively, a clientcontroller 125 and a host controller 140. The client device 120 and thehost device 135 are connected to, respectively, the client controller125 and the host controller 140 by, respectively, wired or wireless datapathways 130 and 145, which are capable of delivering data.

The client device 120, the client controller 125, the host device 135,and the host controller 140 typically each include one or more hardwarecomponents and/or software components. An example of a client device 120or a host device 135 is a general-purpose computer (e.g., a personalcomputer) or software on such a computer capable of responding to andexecuting instructions in a defined manner. Other examples include aspecial-purpose computer, a workstation, a server, a device, acomponent, other physical or virtual equipment or some combination ofthese capable of responding to and executing instructions. The clientdevice 120 and the host device 135 may include devices that are capableof establishing peer-to-peer communications.

An example of client controller 125 or host controller 140 is a softwareapplication loaded on the client device 120 or the host device 135 forcommanding and directing communications enabled by the client device 120or the host device 135. Other examples include a program, a piece ofcode, an instruction, a device, a computer, a computer system, or acombination of these for independently or collectively instructing theclient device 120 or the host device 135 to interact and operate asdescribed. The client controller 125 and the host controller 140 may beembodied permanently or temporarily in any type of machine, component,physical or virtual equipment, storage medium, or propagated signalcapable of providing instructions to the client device 120 and the hostdevice 135.

The communications link 115 typically includes a delivery network 160that provides direct or indirect communication between the client system105 and the host system 110, irrespective of physical separation.Examples of a delivery network 160 include the Internet; the World WideWeb; WANs; LANs; analog or digital wired and wireless telephone networks(e.g., Public Switched Telephone Network (PSTN), Integrated ServicesDigital Network (ISDN), and Digital Subscriber Line (xDSL)); radio,television, cable, or satellite systems; and other delivery mechanismsfor carrying data. The communications link 115 may include communicationpathways 150 and 155 that enable communications through the one or moredelivery networks 160 described above. Each of the communicationpathways 150 and 155 may include, for example, a wired, wireless, cableor satellite communication pathway.

FIG. 2 illustrates a communications system 200 including a client system105 communicating with a host system 110 through a communications link115. The client system 105 includes a client device 120 that typicallyincludes a general-purpose computer 270 having an internal or externalmemory 272 for storing data and programs such as an operating system 274(e.g., DOS, Windows™, Windows 95™, Windows 98™, Windows 2000™, WindowsMe™, Windows XP™, Windows NT™, OS/2, or Linux) and one or moreapplication programs. Examples of application programs include authoringapplications 276 (e.g., word processing programs, database programs,spreadsheet programs, or graphics programs) capable of generatingdocuments or other electronic content; client applications 278 (e.g.,America Online (AOL) client, CompuServe client, AOL Instant Messenger(AIM) client, an interactive television (ITV) client, an internetservice provider (ISP) client, or an instant messaging (IM) client)capable of communicating with other computer users, accessing variouscomputer resources, and viewing, creating, or otherwise manipulatingelectronic content; and browser applications 280 (e.g., Netscape'sNavigator or Microsoft's Internet Explorer) capable of renderingstandard Internet content and other content formatted according tostandard protocols such as the Hypertext Transfer Protocol (HTTP).

Several communications applications and protocols, such as instantmessaging or chat, may be used by communications system 200. Typically,instant messaging (IM) communications involve an instantaneous or nearlyinstantaneous communication between two users, where each user is ableto transmit, receive and display communicated information. Additionally,IM communications involve the display and perception of on-line presenceinformation regarding other selected users (“buddies”). The IMcommunications may be machine-to-machine communications that occurwithout intervention by or communication through an instant messagingserver after a communication session is established or authentication isperformed. Examples of IM communications exist over AIM (America OnlineInstant Messenger), AOL (America Online) Buddy List and InstantMessages, Yahoo Messenger, MSN Messenger, and ICQ, among others.Although some examples of sharing on-line media experiences arediscussed below using IM applications, other implementations providesimilar functionality in platforms and on-line applications such as chator e-mail.

Chat communications typically involve an instantaneous or nearlyinstantaneous communication between two or more users in a “chat room,”where each user is able to transmit, receive and display communicatedinformation. Additionally, chat communications may involve the displayand perception of on-line presence information regarding other selectedparticipants in the chat room. However, chat communications may occur inthe absence of on-line presence information. The chat communications maybe machine-to-machine communications that occur without intervention byor communication through a chat server after a communication session isestablished or authentication is performed. Examples of chatcommunications exist over AOL (America Online) and CompuServe, amongothers.

One or more of the application programs may be installed on the internalor external storage 272 of the general-purpose computer 270.Alternatively, in another implementation, the client controller 125 mayaccess application programs externally stored in and/or performed by oneor more device(s) external to the general-purpose computer 270.

The general-purpose computer 270 also includes a central processing unit282 (CPU) for executing instructions in response to commands from theclient controller 125, and a communication device 284 for sending andreceiving data. One example of the communication device 284 is a modem.Other examples include a transceiver, a set-top box, a communicationcard, a satellite dish, an antenna, a network adapter, or some othermechanism capable of transmitting and receiving data over thecommunications link 115 through a wired or wireless data pathway 150.The general-purpose computer 270 optionally includes a television (“TV”)tuner 286 for receiving television programming in the form of broadcast,satellite, and/or cable TV signals. The TV tuner 286 permits the clientdevice 120 to selectively and/or simultaneously display network contentreceived by communications device 284 and TV programming contentreceived by the TV tuner 286.

The general-purpose computer 270 may include an input/output interface288 that enables wired or wireless connection to various peripheraldevices 290. Examples of peripheral devices 290 include, but are notlimited to, a mouse 291, a mobile phone 292, a personal digitalassistant (PDA) 293, an MP3 player (not shown), a keyboard 294, adisplay monitor 295 with or without a touch screen input, a TV remotecontrol 296 for receiving information from and rendering information tousers, and an audiovisual input device 298.

Although FIG. 2 illustrates devices such as a mobile telephone 292, aPDA 293, and a TV remote control 296 as being peripheral with respect tothe general-purpose computer 270, other implementations may have suchdevices themselves include the functionality of the general-purposecomputer 270 and operate as the client device 120. For example, themobile phone 292 or the PDA 293 may include computing and networkingcapabilities and may function as a client device 120 by accessing thedelivery network 160 and communicating with the host system 110.Furthermore, the client system 105 may include one, some or all of thecomponents and devices described above.

FIG. 3 illustrates a communications system 300 including a lead usersystem 305A communicating with a follower system 305B and an IM hostsystem 310 through a communication link 115. Such a communicationssystem 300 may be available to users of IM service providers, such as,for example, AIM, ICQ, Yahoo Messenger, and Microsoft Messenger.

The IM host system 310 may have characteristics similar to thosedescribed above with respect to the host system 110, the lead usersystem 305A and the follower system 305B have characteristics similar tothose described above with respect to the client system 105, and thelead user system 305A and the follower system 305B include communicationsoftware to enable users of the client systems to access the IM hostsystem 310.

The IM host system 310 may support IM services irrespective of a leaduser's network or Internet access. Thus, the IM host system 310 mayallow users to send and receive IMs, regardless of whether they haveaccess to any particular ISP. The IM host system 310 also may supportassociated services, such as administrative matters, advertising,directory services, chat, and interest groups related to the IM. The IMhost system 310 has an architecture that enables the devices (e.g.,servers) within the IM host system 310 to communicate with each other.To transfer data, the IM host system 310 employs one or more standard orexclusive IM protocols.

To access the IM host system 310 to begin an IM session in theimplementation of FIG. 3, the lead user system 305A establishes aconnection to the IM host system 310. Once a connection to the IM hostsystem 310 has been established, the lead user system 305A may directlyor indirectly transmit data to and access content from the IM hostsystem 310. By accessing the IM host system, a lead user can use the IMclient application to view whether particular users (“buddies”) areon-line, exchange IMs with particular buddies, participate in group chatrooms, trade files such as pictures, invitations or documents, findother buddies with similar interests, get customized information such asnews and stock quotes, and search the Web. Follower system 305B may besimilarly manipulated to establish contemporaneous connection with IMhost system 310.

Once connectivity is established, a lead user who is using lead usersystem 305A views whether a follower using follower system 305B ison-line and able to receive IMs. If the follower is on-line, the leaduser may exchange IMs with the follower.

In one implementation, the IMs sent between lead user system 305A andfollower system 305B are routed through IM host system 310. In anotherimplementation, the IMs sent between lead user system 305A and followersystem 305B are routed through a third party server (not shown), and, insome cases, also are routed through IM host system 310. In yet anotherimplementation, the IMs are sent directly between lead user system 305Aand follower system 305B.

FIG. 4 illustrates a communications system 400 including a lead usersystem 305A communicating with a follower system 305B and an IM hostsystem 310 through a communication link 115. System 400 illustrates apossible implementation of the communications system 300 of FIG. 3.

In system 400, the IM host system 310 includes a login server 470 forenabling access by users and routing communications between the leaduser system 305A, the follower system 305B, and other elements of the IMhost system 310. The IM host system 310 also includes an IM server 490.To enable access to and facilitate interactions with the IM host system310, the lead user system 305A and the follower system 305B may includecommunication software, such as, for example, an OSP client applicationand/or an IM client application.

As described with respect to FIG. 3, the IM host system 310 may supportIM services irrespective of a lead user's network or Internet access.Thus, the IM host system 310 may allow users to send and receive Msregardless of whether they have access to any particular ISP. The IMhost system 310 also may support associated services, such asadministrative matters, advertising, directory services, chat, andinterest groups related to the IM. The IM host system 310 has anarchitecture that enables the devices (e.g., servers) within the IM hostsystem 310 to communicate with each other. To transfer data, the IM hostsystem 310 employs one or more standard or exclusive IM protocols.

The lead user system 305A may establish a connection to the login server470 in order to access the IM host system 310 and begin an IM session.The login server 470 typically determines whether the particular leaduser is authorized to access the IM host system 310 by verifying thelead user's identification and password. If the lead user is authorizedto access the IM host system 310, the login server 470 usually employs ahashing technique on the lead user's screen name to identify aparticular IM server 490 within the IM host system 310 for use duringthe lead user's session. The login server 470 provides the lead usersystem 305A with the IP address of the IM server 490, gives the leaduser system 305A an encrypted key, and breaks the connection. The leaduser system 305A then uses the IP address to establish a connection tothe particular IM server 490 through the communications link 115, anduses the encrypted key to obtain access to the IM server 490. Typically,the lead user system 305A is able to establish an open TCP connection tothe IM server 490. The follower system 305B establishes a connection tothe IM host system 310 in a similar manner.

In one implementation, the lead user system 305A may directly orindirectly transmit data to and access content from the IM server 490once a connection to the IM server 490 has been established. Byaccessing the IM server, a lead user can leverage the TIM clientapplication to determine whether particular users (“buddies” orpotential followers) are on-line, exchange IMs with particular buddies,participate in group chat rooms, trade files such as pictures,invitations or documents, find other buddies with similar interests, getcustomized news and stock quotes, and search the Web. For example, alead user who is using lead user system 305A may view whether a buddyusing follower system 305B is on-line, and if so, may exchange IMs withthat buddy.

The IMs sent between lead user system 305A and follower system 305B maybe routed through IM host system 310, routed through a third partyserver (not shown, or the IMs may be sent directly between lead usersystem 305A and follower system 305B.

The IM host system 310 may include a user profile server (not shown)connected to a database (not shown) for storing large amounts of userprofile data. The user profile server may be used to enter, retrieve,edit, manipulate, or otherwise process user profile data. In oneimplementation, a user's profile data includes, for example, the user'sscreen name, buddy list, geographic location, and identified interests,including interests in various categories of on-line media. The leaduser or the follower may enter, edit and/or delete profile data using aninstalled IM client application on the lead user system 305A or on thefollower system 305B to interact with the user profile server.

Because the user's data are stored in the IM host system 310, the leaduser and the follower do not have to reenter or update such informationin the event that the lead user or the follower accesses the IM hostsystem 310 using a new or different lead user system 305A or followersystem 305B. Accordingly, when, for example, the lead user accesses theIM host system 310, the IM server 490 can instruct the user profileserver to retrieve the lead user's profile data from the database and toprovide, for example, the lead user's buddy list to the IM server 490.Alternatively, user profile data may be saved locally on the lead usersystem 305A.

Systems similar to those shown by FIGS. 3 and 4 may be used to enablesimilar functionality with respect to non-IM communications schemes, forexample, such as the typed described with respect to FIG. 2.

Referring to FIGS. 5 and 12, the lead user system 305A, the followersystem 305B, and the host system 110 interact according to exemplaryprocedures 500 and 1200 to share the on-line media content experiencesof a lead user with one or more followers. The procedures 500 and 1200may be implemented by any type of hardware, software, device, computer,computer system, equipment, component, program, application, code,storage medium, or propagated signal. Furthermore, although not shown inFIGS. 5 and 12, the lead user system 305A, the follower system 305B, andthe host system 110 may be directly or indirectly interconnected throughknown or described delivery networks, examples of which are describedwith respect to network 160. The procedures 500 and 1200 may beimplemented in a client/host context, or a standalone or offline clientcontext. The on-line media content experiences may be shared by thestandalone/offline device and may be accessed or updated through aremote device in a non-client/host environment, such as, for example, aLAN server serving an end user or a mainframe serving a terminal device.Thus, the procedures 500 and 1200 described below may be implemented foran OSP, ISP, browser and/or other software program, such as programs forplaying on-line media (media players), instant messaging, chat,electronic mail and stand-alone browsers.

Procedures 500 and 1200 generally involve sharing on-line media contentexperiences of a lead user with one or more followers. While somefunctions of procedures 500 and 1200 may be performed entirely by thelead user system 305A or the follower system 305B, other functions maybe performed by the host system 110 or the collective operation of thelead user system 305A, the follower system 305B, and/or the host system110. The host system 110 may be, for example an IM host system 310.

Referring to FIG. 5, in the procedure 500, the lead user system 305A andthe host system 110 are physically and/or logically connected (step505). For instance, lead user system 305A may connect to the host system110 across a network (e.g., network 160) by supplying a lead useridentification and password to a server (e.g., a login server) in orderto obtain access to the host system 110.

One or more presence states or state changes is provided by the hostsystem 110 to the lead user system 305A for each of several followersdesignated by the lead user (step 510). In an IM context, followers maybe designated by the lead user by including them on a buddy list. Forthe designated followers, the host system 110 detects the login state ora change in login state, such as, for example, when a follower signsout, is inactive for a period of time, becomes active after having beeninactive for a period of time, indicates an ability to receive instantmessages, or indicates an inability to receive instant messages. Thehost system 110 also may store and update the presence state of thedesignated followers, and further may provide updated presence stateinformation to the lead user system 305A.

On-line media content being experienced (i.e., being played or otherwisebeing made perceptible to the user) on the lead user system 305A then isidentified (step 515). The on-line media content may be identifiedmanually by the lead user, for example, by the lead user experiencingon-line media content played on the lead user system 305A. The on-linemedia content may also be identified automatically by the lead usersystem 305A or may be identified automatically by the host system 110.For example, the host system may be provided with an indication thaton-line media content of interest is being experienced on the lead usersystem 305A, or the host system may be provided with the identity of thecontent being experienced on the lead user system 305A and the hostsystems may make a determination as to whether that content is contentof interest.

The on-line media content being experienced on the lead user system 305Amay be rendered through an application program such as a media player ora web browser. As discussed above, it may include images and sounds,including streaming images and sounds, such as, for example,photographs, audio content, and video content. Also, as discussed above,a uniform resource locater (URL) or another identifier may be associatedwith the on-line media content to assist a user in locating andaccessing the media content.

FIG. 6 illustrates one particular scenario in which an application canbe used as a basis for identifying on-line media content of interest. Inparticular, FIG. 6 illustrates one example of a user interface (UI) 600that may be presented to a lead user for enabling the lead user toexperience on-line media content. The UI 600 includes a media player 605configured to access the on-line media content and make it perceivableto the lead user. In general, the UI 600 is rendered on the lead usersystem 305A using software stored on the lead user system 305A. Theon-line media content to be experienced by the lead user may be storedon the lead user system 305A, on the host system 110, or on a differenthost system 110, such as a host system of an authorized partner or on aserver accessible through the Internet.

As shown, the media player 605 includes a window 610 that displays theon-line media content currently being experienced 612 and a play list ofmedia content 614 that may include content previously experienced,content currently being experienced, and content scheduled to beexperienced in the future. In the example of FIG. 6, the media contentcurrently being experienced 612 is a song 616, and the play listincludes the song 616 currently being experienced and a different song618 scheduled to be experienced next. The media play 605 also includescontrols 615 for enabling the user to control the experience of theon-line content, such as controls for starting, stopping, fastforwarding, and rewinding the content.

The UI 600 also includes a list of followers 620, and the lead user maywish to share the on-line media content experience with one or more ofthe followers on the list of followers 620. As show, the list offollowers 620 is a buddy list in an instant messaging context, and showsat least two buddies currently on-line, Follower1 622 and Follower2 624.

As discussed above, on-line media content of interest may beautomatically identified by the lead user system 305A, and may beassociated with a category from a predefined list of categories. Forexample, the lead user system may identify the playing of a song 616 bya media player 605 running on the lead user system. The song 616 mayhave an associated first URL that is used by the media player 605 toretrieve the song 616 and play the song 616 for the lead user. The songmay be classified in a category (i.e., music), and may also be furtherclassified in other categories such as entertainment or sub-categoriessuch as classical, jazz, country or rock music. The on-line mediacontent may be categorized, for example, by the lead user, by afollower, by the host system 110, a host other than host system 110, orby another user or device. In one implementation, the content ofinterest being experienced is reported to the host system 110 by thelead user system 305A. The host system 110 may store the content beingexperienced by the lead user in a data store, along with trackinginformation for any category or subcategory thereafter.

Next, an identification is made, from a list of followers, as to whichfollowers will be selected to share the on-line media content experienceof the lead user (step 520). In one implementation, the identificationis made manually by the lead user. For example, the lead user may selecta buddy from a buddy list. In another implementation, the identificationmay be made automatically by the lead user system 305A or the hostsystem 110. For example, the identification may be made based upon amatching between a list of followers designated by the lead user andknown interests of the designated followers. Also, the identificationmay be made on-the-fly by the lead user, by the lead user system, or bythe host.

FIG. 7 illustrates one particular scenario for identifying followers toshare the on-line media content experience of the lead user and formanually generating an invitation. As shown, FIG. 7 illustrates anexample of a UI 700 for enabling a lead user to send an invitation forsharing an on-line media content experience to one or more followers.The lead user may invoke an IM UI 705 to send the invitation by instantmessage to a selected buddy Follower1 622 from the buddy list 620. Asimilar invitation may be sent to other followers. The IM UI 705includes a compose area 710 where the lead user may compose an instantmessage, a message history area 715 containing a log of instant messagessent and received, and controls 720 for sending an instant message. Inthe example of FIG. 7, the lead user has composed a personalizedinvitation 715 a containing a link to the on-line media contentexperience that the lead user desires to share.

As shown in FIG. 7, the lead user may select a follower 622 with whom toshare on-line media content from among other followers on an IM buddylist 620. In another implementation, the identification is madeautomatically. For example, the identification may be made based on amatching between the content and a list of followers with whom the leaduser desires to share content. For instance, a follower may beassociated with one or more categories of desired content, and thematching process may be performed with the follower based on thecategory of the on-line media content. The identification may accountfor the availability of the follower, as provided in step 510. Forexample, if the invitation is to be sent by IM, the identification mayresult in selection of those followers who are on-line. In oneimplementation, the identification may be made by a host system 110.

Thereafter, the identified followers are invited to share the on-linemedia content experience of the lead user (step 525). In oneimplementation, the invitation is sent manually. In anotherimplementation, the invitation is generated automatically for thefollower identified by step 520. The invitation may be automaticallygenerated by the lead user system 305A or by the host system 110.

The invitation may be personalized for each follower, and thepersonalization may be done manually or automatically. The invitationtypically contains a link, such as a URL or other identifier, thatallows a follower to access and experience the on-line media contentexperienced by the lead user. The invitation may also contain a flag orother mechanism that allows the follower system 305B to process theinvitation automatically, without user intervention by the follower. Asuitable communication method may be used to send the invitation to thefollower. Examples of possible communications methods include IM, chat,and e-mail.

FIG. 7 shows one example of manually generating an invitation. Inparticular, the lead user may generate an instant message to a followerby invoking an IM user interface (UI) 705, manually selecting a buddy622 from a buddy list 620, and sending a message 715 a including a linkto the on-line media content 616 that the lead user desires to share.

Typically, steps 515-525 are automated collectively. However otherimplementations are possible. For example, content of interest may beautomatically identified and the followers to invite automaticallyidentified, however, the lead user may be given the option to manuallygenerate the invitations.

After the invitation is generated, the host system 110 routes theinvitation to the selected followers (step 530). In one implementation,the host system routes the invitation directly to the follower. Inanother implementation, the host system routes the invitation to one ormore intermediaries that route the invitation to the follower. In yetanother implementation, the lead user system 305A routes the invitationdirectly to the follower system 305B, without routing the invitationthrough the host system 110.

Next, the follower system 305B receives the invitation (step 535).

FIG. 8 illustrates one particular scenario in which the followerreceives the invitation. In particular, FIG. 8 illustrates an example ofa UI 800 that may be presented to a follower for enabling the followerto experience on-line media content. As with UI 600 discussed above, theUT 800 includes a media player 805 configured to access the on-linemedia content and make it perceivable to the follower. In general, theUI 800 is rendered on the follower system 305B using software stored onthe follower system 305B.

As shown, the media player 805 includes a window 810 that displays theon-line media content currently being experienced 812 and a play list ofmedia content 814 that may include content previously experienced,content currently being experienced, and content scheduled to beexperienced in the future. In the example of FIG. 8, the media contentcurrently being experienced 812 is a song 816, and the play listincludes the song 816 currently being experienced and a different song818 scheduled to be experienced next. The media play 805 also includescontrols 815 for enabling the follower to control the experience of theon-line content, such as controls for starting, stopping, fastforwarding, and rewinding the content.

The UI 800 also includes a list of other users 820, including lead user822, with which the follower may wish to share on-line media contentexperiences. As shown, the list of users 820 is a buddy list in aninstant messaging context, and shows at least lead user 822 is currentlyon-line.

The invitation is processed (step 540), for instance, by accepting orrejecting the invitation. The processing may be done manually orautomatically, by the follower system without explicit followerintervention or by the follower through their interaction. For instance,in one implementation, as discussed with respect to FIGS. 9 and 10, theinvitation may be manually accepted by selection of the provided link toon-line media content. Rejection of the invitation results in no changeto the on-line content being experienced by the user, as shown, forexample, in FIG. 8.

In another implementation, the processing may be done automatically, andmay be based upon a set of pre-defined rules. For example, a followermay authorize an invitation from the lead user to be automaticallyaccepted, or automatically rejected, without requiring intervention bythe follower. A flag or other indicator contained within the invitationmay assist in the automatic processing of the invitation.

FIGS. 9 and 10 illustrate examples of UIs 900 and 1000 for enabling afollower to process an invitation for sharing an on-line media contentexperience with a lead user. As shown in FIG. 9, an IM UI 905 may beinvoked on the follower system in response to an instant messageinvitation 715 a received from the lead user. The IM UI 905 includes acompose area 910 where the follower may compose an instant message tosend to the lead user, a message history area 915 containing a log ofinstant messages sent and received, and controls 920 for sending aninstant message or otherwise accepting the invitation (not shown). Inthe example of FIG. 9, the lead user has composed a personalizedinvitation 715 a containing a link to the on-line media contentexperience that the lead user desires to share with the follower. Toaccept the invitation, the follower may click on the link contained inthe invitation 715 a.

Referring to FIG. 10, the follower may accept an instant messageinvitation 715 a received from the lead user by clicking on the linkcontained in the invitation 715 a. After accepting the invitation, themedia player 805 locates and plays the on-line media content 616contained in the link, so that the follower is able to share the on-linemedia content experience of the lead user. When the follower shares theon-line media content experience of the lead user, a sharing statusreport may be generated and a symbol 1005 may appear in the follower'sbuddy list to indicate that the follower is sharing the on-line mediacontent experience of the lead user.

The follower is not necessarily notified of the receipt of theinvitation. For example, as discussed with respect to step 535 of FIG.9, if the invitation is sent by IM, the follower may not be notified,whether by application design or follower choice, to be notified of thereceipt of the invitation.

A determination is made as to whether the invitation has been acceptedor rejected (step 542). If the invitation has been accepted, then theon-line content is accessed for the shared experience (step 545). Thecontent may be accessed using the URL or other identifier associatedwith the content. Accessing the content may include automaticallychanging the on-line content being perceived by the follower. Forexample, as shown in FIGS. 8 and 9, until the invitation is accepted,the follower is perceiving certain content selected by the follower,which in this example is a song 816. As shown in FIGS. 8 and 10, whenthe invitation is accepted, the content being perceived by the followerautomatically changes from the old content 816 of FIG. 8 to the newcontent 616 of FIG. 10 selected by the lead user, which in this case isa different song 616. However, the new content may include other newcontent selected by the lead user, such as a video segment or a picture.

When the invitation is either accepted or rejected, a sharing statusreport is generated to indicate the acceptance or rejection of theinvitation by the follower (step 550). The results of the sharing statusreport may be displayed to the lead user and/or to the follower. Thesharing status report may be updated as needed. For example, if thefollower decides to cease sharing the on-line media experience of thelead user, an updated sharing status report may be generated to reflectthe updated status. The sharing status report may include a visualidentifier, such as the icon 1005 shown in FIG. 10, to indicate that thefollower is sharing the on-line media experience of the lead user 822.In another implementation, the absence of an icon may indicate that thefollower is sharing the on-line media experience of the lead user. Adifferent icon, or no icon, may be provided if the follower is notsharing the on-line media experience of the lead user.

The sharing status report is routed to the lead user system 305A by thehost system 110 (step 555). In one implementation, the host systemroutes the sharing status report directly to the lead user. In anotherimplementation, the host system routes the sharing status report to oneor more intermediaries, before the sharing status report is routed tothe lead user. In yet another implementation, the follower system 305Bmay route the sharing status report directly to the lead user system305A, without routing the report through the host system 110. In oneimplementation, the host stores the sharing status information fordesignated followers, and updates the sharing status for the designatedfollowers.

Finally, the lead user system 305A receives the sharing status report(step 560). One form of a sharing status report involves a UI presentedto the lead user, as shown in FIG. 11. In particular, FIG. 11illustrates an example of a user interface (UI) 1100 that may bepresented to a lead user for displaying a sharing status report receivedfrom a follower. As shown, the media player 605 displays the on-linemedia content currently being experienced 612, which in this case is asong 616, and the play list 614 includes the song 616 currently beingexperienced and a different song 618 scheduled to be experienced next.

The UI 1100 shows symbols 1105 and 1110 indicating the receipt of asharing status report from the two buddies. In particular, a symbol 1105indicates that buddy Follower1 is sharing the on-line media experienceof the lead user and a symbol 1110 that buddy Follower2 624 is notsharing the on-line media experience of the lead user. The symbol 1110may be generated, for example, upon receipt of a sharing status reportindicating that Follower2 has rejected the invitation or update forsharing on-line media content, or upon receipt of an indication thatFollower2 has ceased sharing the on-line media content experience of thelead user.

In other implementations, the absence of an icon may indicate that thefollower is sharing (or not sharing) the on-line media experience of thelead user. Other forms of a sharing status report may be provided. Forexample, a sharing report may be generated by a Java-invoked page of aweb browser or by an e-mail message.

FIG. 12. shows one implementation of an update process where the on-linemedia content being experienced by the lead user changes and the updatedcontent is shared with one or more followers. Referring to FIG. 12, inprocedure 1200, on-line media content of interest being played orotherwise being made perceptible on the lead user system 305A isidentified and reported to the host system 110 (515).

Next, a determination is made as to whether there has been a change incontent being experienced by the lead user (step 1262). For example, asshown by FIGS. 11 and 13, there may be a change by the lead user in theplaying of a song 616 by a media player 605 running on the lead usersystem to a different song 618 played by the media player 605, with adifferent song 1316 being scheduled to be experienced next. In anotherexample, the user may change from playing a song 618 on the media player605 to playing a video clip on a different media player. A change incontent may also include stopping play, pausing play, fast forwarding,or rewinding of the media content. If no change in content isidentified, the identification process of step 515 may continue until achange is identified. In one implementation, the determination is madeby the lead user system 305A. In another implementation, thedetermination is made by the host system 110.

Because various aspects of steps 1264-1280 of procedure 1200 are similarto those discussed above with respect to steps 520-560 of procedure 500,the following discussion of steps 1264-1280 is somewhat abbreviated.

If a change in content is identified in step 1262, an identification ismade, from a list of followers, as to which followers will be selectedto update the on-line media content experience of the lead user (step1264). The identification is made in a manner similar to that describedwith respect to step 520. In one implementation, the identification ismade by the lead user system 305A. In another implementation, theidentification is made by the host system 110. The results of theidentification may include inviting new followers who would not havebeen interested in the previous content but may be interested in theupdated content, and terminating the shared experience for otherfollowers who may not be interested in the updated content but who wereinterested in the previous content. In another implementation, thesharing process may not be terminated by the lead user system once theprocess begins. New followers may be added as described with respect toFIG. 5.

Next, an update is generated to the identified followers to update theirsharing of the on-line media content experience of the lead user (step1266). The generation of the update is similar to the generation of theinvitation, as described with respect to step 525. The update may bedone automatically, without displaying a UI as shown in FIG. 7. In oneimplementation, the update is generated by the lead user system 305A. Inanother implementation, the update is generated by the host system 110.

After the update is generated, the host system 110 routes the update tothe selected followers (step 1268) in a manner similar to that describedwith respect to step 530. In another implementation, the lead usersystem 305A routes the update directly to the follower without routingthe update through the host system 110.

Next, the follower system 305B receives the update (step 1270) in amanner similar to that described with respect to step 535. Typically,the follower is not notified concerning receipt of the update.

The update is then processed (step 1272) in a manner similar to thatdescribed with respect to step 540. Typically, the processing of theupdate is done automatically. A flag or other indicator may be containedwithin the update to indicate that automatic processing is to be used.For example, a flag may be embedded within an instant message toindicate to the follower system 305B that an updated link to sharedon-line content is provided within the message, and that a media playerneeds to be automatically updated with the new link to on-line contentso that the shared experience may continue.

A determination is made as to whether the update has been accepted orrejected (step 1273) in a manner similar to that of step 542. In oneimplementation, the determination is made by the follower system 305B.In another implementation, the determination is made by the host system110.

If the update has been accepted, then the updated on-line content isaccessed for the shared experience (step 1274) in a manner similar tothat of step 545. The updated content for the shared experience may beaccessed using the URL or another identifier associated with thecontent. For example, as shown in FIG. 14, until the update is accepted,the follower is experiencing certain content selected, which in thisexample is a song 616.

FIG. 14 illustrates an example of a UI 1400 that may be presented to afollower prior to accepting an update. As shown, the media contentcurrently being experienced 812 is a song 616 experienced by the leaduser prior to the update, and the play list includes the song 616currently being experienced. The play list also may include other songspreviously experienced or scheduled to be experienced by the lead user.

FIG. 15 illustrates an example of a UI 1500 that may be presented to afollower after accepting an update. Similarly to UI 800 and UI 1400, theUI 1500 includes a media player 805 configured to access the on-linemedia content and make it perceivable to the follower. As shown, themedia content currently being experienced 812 is a song 618 currentlybeing experienced by the lead user, and the play list includes the song618 currently being experienced. The song 618 currently beingexperienced is different from the song 616 previously experienced andshown with respect to FIG. 14.

As shown in FIG. 15, when the update is accepted, the content beingexperienced by the follower automatically changes from the old content616 to the new content 618 selected by the lead user, which in this caseis a different song 618. However, the new content may be other newcontent selected by the lead user, such as a video segment or a picture.

When the update is either accepted or rejected, a sharing status reportmay be generated to indicate the acceptance or rejection of the updateby the follower (step 1276). The report is similar to the sharing statusreport described with respect to step 550. In one implementation, thesharing status report is generated by the follower system 305B. Inanother implementation, the determination is made by the host system110. The sharing status report is routed to the lead user system 305A bythe host system 110 (step 1278) in a manner similar to that describedwith respect to step 555. In one implementation, the sharing statusreport is sent directly to the lead user system 305A without beingrouted through the hosts system 110. Finally, the lead user system 305Areceives the sharing status report (step 1280), in a manner similar tothat described with respect to step 560.

The relative order of steps 505-560 with respect to other steps inprocedure 500, and the relative order of steps 1262-1280 with respect toother steps in procedure 1200, and also with respect to each other, mayvary. For example, referring to FIG. 5, a sharing status report (step550) may be generated before content is accessed for the sharedexperience (step 545). Also, certain steps may be omitted entirely, asappropriate. For example, referring to FIG. 5, step 510 may beeliminated and the decision to generate invitations may be made by thelead user without consideration of the on-line presence state of thefollower. Also, as another example, steps 550-560 of FIG. 5 and steps1276-1280 of FIG. 12 may be eliminated and no sharing status report maybe generated or provided.

Other implementations are within the scope of the following claims.

What is claimed is:
 1. A method comprising: detecting, using at leastone processor, a user's experience of online multimedia content by wayof a network multimedia content sharing application; identifyingfollowers of the user; identifying one or more attributes of each of thefollowers of the user; identifying, based on the identified one or moreattributes of each of the followers of the user and one or moreattributes associated with the online multimedia content, a subset ofone or more followers who are most likely to be interested in the user'sexperience of the online multimedia content; automatically notifying thesubset of one or more followers of the user's experience of the onlinemultimedia content; and enabling independent access by each of thesubset of one or more followers to the online multimedia content by wayof the network multimedia content sharing application.
 2. The method ofclaim 1, further comprising: providing an indication to the user of atleast one follower who accesses the online multimedia content.
 3. Themethod of claim 1, further comprising: determining the one or moreattributes associated with the online multimedia content; andidentifying the subset of one or more followers of the user based on acomparison of the identified one or more attributes of each of thefollowers of the user with the one or more attributes associated withthe online multimedia content.
 4. The method of claim 1, whereinautomatically notifying the subset of one or more followers of theuser's experience of the online multimedia content comprises generatingan invitation for the identified subset of one or more followers toaccess the online multimedia content.
 5. The method of claim 1, whereinthe network multimedia content sharing application is web-based.
 6. Themethod of claim 1, further comprising compiling, for the user, a sharingstatus report regarding followers who access online multimedia contentthat the user has experienced or is experiencing.
 7. A methodcomprising: detecting, by a communications host system, a user'sexperience of online audio content; identifying followers of the user;identifying one or more attributes of each of the followers of the user;identifying, based on the identified one or more attributes of each ofthe followers of the user and one or more attributes associated with theonline audio content, a subset of one or more followers who are mostlikely to be interested in the user's experience of the online audiocontent; automatically notifying, by the communications host system, thesubset of one or more followers of the user's experience of the onlineaudio content; and enabling independent access by each of the subset ofone or more followers to the online audio content.
 8. The method ofclaim 7, further comprising: providing an indication to the user of atleast one follower who accesses the online audio content.
 9. The methodof claim 7, further comprising: determining the one or more attributesassociated with the online audio content; and identifying, the subset ofone or more followers of the user based on a comparison of theidentified one or more attributes of each of the followers of the userwith the one or more attributes associated with the online audiocontent.
 10. The method of claim 7, wherein automatically notifying thesubset of one or more followers of the user's experience of the onlineaudio content comprises generating an invitation for the subset of oneor more followers to experience the online audio content.
 11. The methodof claim 7, wherein the communications host system comprises at leastone of a messaging host system or a social networking host system. 12.The method of claim 7, further comprising compiling, for the user, asharing status report regarding followers who access online audiocontent that the user has experienced or is experiencing.
 13. Anon-transitory computer readable medium storing instructions thereonthat, when executed by at least one processor, cause a computer systemto: detect a user's experience of online multimedia content by way of anetwork multimedia content sharing application; identify followers ofthe user; identify one or more attributes of each of the followers ofthe user; identify, based on the identified one or more attributes ofeach of the followers of the user and one or more attributes associatedwith the online multimedia content, a subset of one or more followerswho are most likely to be interested in the user's experience of theonline multimedia content; automatically notify the subset of one ormore followers of the user's experience of the online multimediacontent; and enable independent access by each of the subset of one ormore followers to the online multimedia content by way of the networkmultimedia content sharing application.
 14. The non-transitory computerreadable medium of claim 13, further comprising instructions thereonthat, when executed by at least one processor, cause the computer systemto provide an indication to the user of at least one follower whoaccesses the online multimedia content.
 15. The non-transitory computerreadable medium of claim 13, further comprising instructions thereonthat, when executed by at least one processor, cause the computer systemto: determine the one or more attributes associated with the onlinemultimedia content; and identify the subset of one or more followers ofthe user based on a comparison of the identified one or more attributesof each of the followers of the user with the one or more attributesassociated with the online multimedia content.
 16. The non-transitorycomputer readable medium of claim 13, wherein the instructions thereon,when executed by at least one processor, cause the computer system toautomatically notify the subset of one or more followers of the user'sexperience of the online multimedia content by performing stepscomprising generating an invitation for the identified subset of one ormore followers to access the online multimedia content.
 17. Thenon-transitory computer readable medium of claim 13, wherein the networkmultimedia content sharing application is web-based.
 18. Thenon-transitory computer readable medium of claim 13, further comprisinginstructions thereon that, when executed by at least one processor,cause the computer system to compile, for the user, a sharing statusreport regarding followers who access online multimedia content that theuser has experienced or is experiencing.
 19. The method of claim 1,wherein the online multimedia content comprises online audio content.20. The method of claim 1, wherein identifying the one or moreattributes of each of the followers of the user comprises identifyingattributes of other online multimedia content in which each of thefollowers of the user have expressed interest.